package com.dragon.pear.common.inject;

import com.dragon.pear.pages.common.flash.FlashActivity;
import com.dragon.pear.pages.common.login.LoginActivity;
import com.dragon.pear.pages.common.main.MainActivity;
import com.dragon.pear.pages.common.register.RegisterActivity;
import com.dragon.pear.pages.common.start.StartActivity;
import com.dragon.pear.pages.tabs.main.home.HomeFragment;
import com.dragon.pear.pages.tabs.main.mine.MineFragment;
import com.dragon.pear.pages.tabs.main.notify.NotifyFragment;
import com.dragon.pear.pages.tabs.main.sample.SampleFragment;
import com.dragon.pear.pages.tabs.main.tech.TechFragment;

import javax.inject.Singleton;

import dagger.Component;

/**
 * @author Chris chan
 * Create on： 2025/2/1 9:56
 * Use for: Dagger注入管理
 * Explain:
 */
@Singleton
@Component(modules = {AppModule.class})
public interface AppComponent {
    //================Activity=================
    void inject(MainActivity activity);

    void inject(StartActivity activity);

    void inject(FlashActivity activity);

    void inject(LoginActivity activity);

    void inject(RegisterActivity activity);


    //================Fragment=================
    void inject(HomeFragment fragment);

    void inject(NotifyFragment fragment);

    void inject(MineFragment fragment);

    void inject(SampleFragment fragment);

    void inject(TechFragment fragment);
}
